﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Mvc;

namespace ERPStore.Payment.Direct.Controllers
{
	public class WireTransferPaymentController : DirectPaymentController
	{
		public WireTransferPaymentController(
			ERPStore.Services.ICartService cartService
			, ERPStore.Services.ISalesService salesService
			, ERPStore.Services.IAccountService accountService
			, ERPStore.Services.IEmailerService emailerService
			, ERPStore.Web.Services.IEmailTemplateService emailTemplateService
			, ERPStore.Services.IIncentiveService incentiveService
			, ERPStore.Services.CryptoService cryptoService
			, ERPStore.Services.IFraudService fraudService
			, Services.PaymentByWireTransferService paymentService
			, ERPStore.Services.IOffersService offerService
			)
			: base(cartService, salesService, accountService, emailerService, emailTemplateService, incentiveService, cryptoService, fraudService, offerService)
		{
			this.PaymentService = paymentService;
		}

		protected Services.PaymentByWireTransferService PaymentService { get; private set; }

		protected override string FinalizeViewName
		{
			get
			{
				return PaymentService.FinalizedViewName;
			}
		}

		protected override string PaymentName
		{
			get
			{
				return PaymentService.Name;
			}
		}

		[Authorize(Roles = "customer")]
		[ERPStore.Web.Controllers.ActionFilters.ZeroCacheActionFilter]
		[ERPStore.Web.Controllers.ActionFilters.TrackerActionFilter]
		public override System.Web.Mvc.ActionResult Finalized(string key)
		{
			return base.Finalized(key);
		}

	}
}
